Some of the advantages offered by a typical network-based publication system (e.g, a website) are the simplicity, promptness and convenience of participating in the online information publishing and viewing process.
However, since website development can be very expensive, and many businesses cannot easily develop their own websites, many businesses have expanded into the online arena by associating themselves with the services provided by online service providers. Consequently, instead of developing their own websites, these businesses have developed third-party applications that interact with network-based systems. These third party applications may enhance the user experience for users of the network-based publication system by providing programs that the network-based publication system does not have. Regarding the enhancement of the user experience for a user of a particular business's systems, these third party applications may integrate the applications of that particular business entity with a particular popular network-based publication system and extend platforms of that business entity into new business areas.
Additionally, these third-party application programs may be extremely valuable for users who conduct a great many business transactions using the network-based publication system, and users who would like to have the information presented to attract buyers in a way that may be different from the network-based publication system. Moreover, businesses who use these third party application programs may have items listed for trading on the network-based publication system, but may wish to have the users interact with the network-based publication system through the business's Website using such third party applications. Thus, such third party applications may expand a business's services to its clients.
FIG. 1 illustrates an example of a typical networked system in which a user is able to invoke a third party application in conjunction with accessing a network-based publication system. Specifically, FIG. 1 illustrates a network-based publication system 100 (e.g., an online publication system). In the system 100, a user 110 is able to access and communicate with a network-based publication system 115 through a network 108 such as the Internet. The network-based publication system 115 includes a user interface 106, an application engine 104, and a database 102. The user interface 106 contains application programs that accept requests from the users. In connection with a user 110 accessing a network-based publication system, the user 110 may invoke one of its own applications 112, or the application 112 of another third party.
FIG. 1a illustrates a more detailed example of the manner in which a user 110 may invoke a third party application 112 in connection with accessing a network-based publication system 115. In FIG. 1a, the user 110 communicates with other entities in the system 100 by sending an eXtensible Markup Language (XML) request 120 over HyperText Transfer Protocol 122 (HTTP). The application engine 104 of the network-based publication system 115 executes the request 120 (e.g., retrieving particular items available in an auction), and returns the results to the user 110 through the network 108 also in an XML document over HTTP protocol. The user 110 may then transform the data in the XML document into an HTML document. In this manner, the user 110 can transform the relatively raw data in the XML format into an HTML document which will display the data with the particular look and feel that the user 110 wants to convey on its internal systems.
FIG. 1b illustrates another example of the manner in which a user 110 may access a network-based publication system 115 and use a third party application 112. In FIG. 1b, the user 110 may transfer a style sheet 124, such as an eXtensible Style Language style sheet, over HTTP protocol 122 to the network-based publication system 115. Alternatively, a user 110 may include a URL in the HTTP protocol based message sent to the network-based publication system, and the publication system can invoked the URL to access the style sheet. The transfer of this style sheet may be combined with a request to retrieve data from the network-based publication system 115. In addition to retrieving the data contained within the user's request, the network-based publication system 115 uses the style sheet 124 to create an HTML document 126. The network-based publication system 115 transmits the HTML document 126 to the user 110, who can then display the data in the format dictated by the HTML document.
These approaches to the use of third party applications in connection with a network-based publication system however present several problems to such users 110, especially smaller business entities that do not have the bandwidth, hardware, and/or personnel to implement such systems in connection with their internal systems and applications. In a system in which a network-based publication system transmits an XML document 120 to a user 110, the conversion of that XML document 120 to an HTML document 126 is not a trivial task. The user 110 must have available to it the bandwidth, servers (hardware and software), and personnel to accomplish such a conversion. Moreover, if there is a change in the creation of the XML document 120 on the network-based publication system 100, the code on the user's system that converts the XML document 120 into an HTML document 126 must also be changed.
Similarly, in systems in which a user transmits a style sheet to a network-based publication system, and thereafter receives an HTML document back from that facility, the network-based publication system has little control over such style sheets, and is therefore susceptible to error-ridden style sheets, or worse yet, style sheets that contain malicious code that can wreak havoc to a network-based publication system 115.
Network-based publication systems are therefore in need of an improved manner to respond to client requests and format responses to these requests.